package alignment_text_input;

import java.util.ArrayList;

import alignment_text_input.ReaderRDF;


public class AlignmentAnalist {
	public static void main(String[] args) {
		//Faz o download do Azure
		ArrayList<String> listOfAlign = DownloadOutputAzure.getAlignment("Output4");
		//Ou jah le de um pasta com os arquivos baixados.
//		ArrayList<String> listOfAlign = DownloadOutputAzure.readInPath("OutputAzure");
		
		double correspondeciasIdentificadas = listOfAlign.size();
		
//		ArrayList<String> listReference = ReaderRDF.alignmentReadyForOntology("Ontologies/reference_human_mouse_string.txt");
		ArrayList<String> listReference = ReaderRDF.alignmentWithTypeOWL("Ontologies/reference_FMA2NCI.owl", 0.6f);
		
		double correspondenciasDoAlinhamento = listReference.size();
		double corretamenteIdentificados = 0.0;
		for (String reference : listReference) {
			if (listOfAlign.contains(reference)) {
				corretamenteIdentificados++;
			} else {
				System.out.println(reference);
			}
		}
		double precisao = corretamenteIdentificados/correspondeciasIdentificadas;
		double cobertura = corretamenteIdentificados/correspondenciasDoAlinhamento;
		double f_measure = 2*((precisao * cobertura) / (precisao + cobertura));
		System.out.println("-----------------------Medidas-----------------------");
		System.out.println("Precisao: " + precisao);
		System.out.println("Cobertura: " + cobertura);
		System.out.println("F-Measure: " + f_measure);
	}
	 
}
